.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE3FD54270]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE3FD35FA0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,1D3
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE3F486718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,1B3
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FD36040
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE3FD35AB8]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE3FD17E90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1D3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE3F466718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FD17F30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE3FD35D28]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE3FD17FA0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1D3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE3F466718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FD18040
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE3FD45D28]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE3FD27FA0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,1D3
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE3F476718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FD28040
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE3FD25D28]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE3FD07FA0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,1D3
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE3F456718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FD08040
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE3FD35AB8]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE3FD18430
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1D3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE3F466718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FD184D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE3FE96730]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE3FE7A758
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,1D3
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE3F486718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,1B3
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FE7A7F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE3FEE5AB8]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE3FEC6688
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,1D3
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE3F456718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEC6728
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,1853D40F748
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE3FD34318]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,1853D40F740
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE3F264210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1853D40F748
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF20685380
call      rax
mov       rdi,[rbp-40]
mov       rdx,1853D4001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE3FDD0DF0]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE3F5D5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE3FD15FC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE3F4A6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE3F1210F8
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE3FD15EF0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE3F5D7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE3F5D7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE3F121100
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,[rbp-58]
mov       r11,7FFE3F121100
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE3F4A67F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE3FDD0FE8]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE3F2641F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,26C18C0F748
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE3FD25DD0]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,26C18C0F740
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE3F254210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,26C18C0F748
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF20685380
call      rax
mov       rdi,[rbp-40]
mov       rdx,26C18C001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE3FDC1B50]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE3FD07FC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE3F496898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE3F1110F8
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE3FD07EF0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE3F5C7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE3F5C7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE3F111100
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,[rbp-58]
mov       r11,7FFE3F111100
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE3F4967F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE3FDC1D48]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE3F2541F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,226504021B8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE3FD25DD0]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,226504021B0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE3F254210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,226504021B8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF20685380
call      rax
mov       rbx,[rbp-58]
mov       rdx,226484001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE3FDC1D90]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FFE3FD07FC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF20685380
call      rax
mov       rbx,[rbp-58]
mov       rdx,226484001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE3FDC1D90]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FFE3FD07FC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FFE3F496898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FFE3F1110F8
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FFE3F496898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FFE3FD07EF0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FFE3F5C7A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FFE3F5C7A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FFE3F111100
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FFE3F111100
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE3F4967F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE3FDC1F98]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE3F2541F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,1FBBC80F748
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE3FD35DD0]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,1FBBC80F740
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE3F264210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1FBBC80F748
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF20685380
call      rax
mov       rbx,[rbp-58]
mov       rdx,1FBBC8001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE3FDD1570]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FFE3FD17FC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF20685380
call      rax
mov       rbx,[rbp-58]
mov       rdx,1FBBC8001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE3FDD1570]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FFE3FD17FC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FFE3F4A6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FFE3F1210F8
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FFE3F5D5E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FFE3F4A6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FFE3FD17EF0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FFE3F5D7A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FFE3F5D7A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FFE3F121100
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FFE3F121100
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE3F4A67F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE3FDD1778]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE3F2641F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,26ACC8021B8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE3FD55B60]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,26ACC8021B0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE3F284210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,26ACC8021B8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF20685380
call      rax
mov       rdi,[rbp-40]
mov       rdx,26AC88001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE3FDF1D10]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE3F5F5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE3FD37F48
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE3F4C6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE3F1410F8
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE3FD37E70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE3F5F7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE3F5F7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE3F141100
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,rax
mov       r11,7FFE3F141100
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE3F4C67F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE3FDF1F08]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE3F2841F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,1E0D70021B8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE3FD15B60]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,1E0D70021B0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE3F244210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1E0D70021B8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF20685380
call      rax
mov       rdi,[rbp-40]
mov       rdx,1E0D30001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE3FDB1E30]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE3F5B5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE3FCF8458
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE3F486898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE3F1010F8
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE3FCF8380
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE3F5B7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE3F5B7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE3F101100
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,rax
mov       r11,7FFE3F101100
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE3F4867F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE3FDB2028]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE3F2441F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,2929140D750
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE3FE85B60]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,2929140D748
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE3F274210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,2929140D750
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF20685380
call      rax
mov       rbx,[rbp-58]
mov       rdx,292954001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE3FE08FF0]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FFE3FE66608
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF20685380
call      rax
mov       rbx,[rbp-58]
mov       rdx,292954001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE3FE08FF0]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FFE3FE66608
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FFE3F4B6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FFE3F131308
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FFE3F4B6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FFE3FE66530
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FFE3F5E7A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FFE3F5E7A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FFE3F131310
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FFE3F131310
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE3F4B67F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE3FE091F8]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE3F2741F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,16B8F00F748
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE3FF05B60]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,16B8F00F740
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE3F274210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,16B8F00F748
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF20685380
call      rax
mov       rdi,[rbp-40]
mov       rdx,16B8F0001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFE9F11A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE3FF68F10]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE3FEE6A88
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE3F4B6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE3F131B98
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE3FEE69B0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE3F5E7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE3F5E7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE3F131BA0
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,rax
mov       r11,7FFE3F131BA0
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE3F4B67F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE3FF69108]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE3F2741F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE3FD24C78]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD259B0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD26838]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FED4590
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FED45A8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FED4830
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FED4850
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD1AEA0]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F111110
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FED4870
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5B0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F456790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FED4590
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FED4830
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD26868]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F111118
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F111118
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,21471A00008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE3FD26010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD26D48]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD2C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEC5790
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEC57A8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5A30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5A50
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD19F50]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F110FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5A70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5B0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F456790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5790
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5A30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD2C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F110FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F110FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,219B5AF0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE3FD35DA0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD36AD8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD3C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEE52B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEE52C8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5550
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5570
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2ED20]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F120FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5590
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5D5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5C0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F466790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEE52B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5550
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD3C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F120FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F120FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,228AB360008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE3FD160D0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F76FB58]
mov       ecx,43
mov       rdx,7FFE3F7479C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5D6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F246B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7479C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F246B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F76F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F446718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD16E08]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F244360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD1C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEC5480
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5498
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5720
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5740
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD0F150]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F100FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5760
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5B5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5A0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F446790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5480
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F244360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5720
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD1C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F100FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F100FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F2F5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F2F5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5B5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,27B20290008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE3FD25DA0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD26AD8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD2C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEC5500
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5518
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEC57A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEC57C0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD19B90]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F110FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEC57E0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5B0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F456790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEC5500
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEC57A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD2C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F110FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F110FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1E2C0DA0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE3FD36010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD36D48]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD3C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEE5A60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5A78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5D00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5D20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2F770]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F120FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5D40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5D5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5C0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F466790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5A60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5D00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD3C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F120FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F120FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,23AF69F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE3FE66430]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FE67168]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FE6C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FF3B4C0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FF3B4D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FF3B760
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FF3B780
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FE5F288]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F111308
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FF3B7A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5B0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F456790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FF3B4C0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FF3B760
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FE6C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F111310
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F111310
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2F149540008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE3FF05DA0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FF06AD8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FF0C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FF6B6B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FF6B6C8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FF6B950
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,offset System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].MoveNext()
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FF10BF8]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F131BA0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FF6B990
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5D0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F476790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FF6B6B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FF6B950
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FF0C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F131BA8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F131BA8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2B811300008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F1210F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F121108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE3F121100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2044E620008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F1410F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F141108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE3F141100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,1B3
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5F5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,25C269C0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F1210F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F121108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE3F121100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,25D66620008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F1310F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F131108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE3F131100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1FBD9B70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F1110F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F111108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE3F111100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2D8B27E0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F1110F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F111108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE3F111100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,26BD1DB0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F1212F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F121308
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE3F121300
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,210151C0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F131B88
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE3F131B98
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE3F131B90
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2A9A36E0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE3F72E070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE3F72E058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE3F72E0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F284348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FEF05C8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FEF05E8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FEF0628
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE3FEF0608
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE3F284330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE3F72E760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE3FECFAD0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE3FECFAE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,19B49801D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,19B49801960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE3FECFB10
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE3F284390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE3FECFAF8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE3F739A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE3F9645A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE3F33D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE3F739A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE3FD579D8]
int       3
M02_L18
 
mov       rcx,19B498002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,19B49801968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,19B498002E0
xor       ecx,ecx
mov       rdx,19B49801970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE3FECFAE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE3F72E250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE3F141118
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE3FEF0768
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE3F739A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F964AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE3F964588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F28F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE3F5F5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE3FEF0748
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE3F141120
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE3F141120
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE3F5F5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,1DBDB6F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE3F6FE070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE3F6FE058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE3F6FE0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F254348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FEC16A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FEC16C0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FEC1700
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE3FEC16E0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE3F254330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE3F6FE760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE3FEC0C48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE3FEC0C60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,19C1EC01D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,19C1EC01960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE3FEC0C88
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE3FEC0C70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE3F9345A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE3F30D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE3FD2CD80]
int       3
M02_L18
 
mov       rcx,19C1EC002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,19C1EC01968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,19C1EC002E0
xor       ecx,ecx
mov       rdx,19C1EC01970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE3FEC0C60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE3F6FE250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE3F110FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE3FEC1840
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F934AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE3F934588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F25F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE3F5C5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE3FEC1820
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE3F111000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE3F111000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,1DCB0D20008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE3F6FE070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE3F6FE058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE3F6FE0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F254348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FEC1758
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FEC1778
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FEC17B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE3FEC1798
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE3F254330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE3F6FE760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE3FEC0D00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE3FEC0D18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,143BF001D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,143BF001960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE3FEC0D40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE3FEC0D28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE3F9345A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE3F30D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE3FD2CE40]
int       3
M02_L18
 
mov       rcx,143BF0002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,143BF001968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,143BF0002E0
xor       ecx,ecx
mov       rdx,143BF001970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE3FEC0D18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE3F6FE250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE3F110FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE3FEC18F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F934AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE3F934588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F25F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE3F5C5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE3FEC18D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE3F111000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE3F111000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,18450DB0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE3F6FE070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE3F6FE058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE3F6FE0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F254348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FEC1C70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FEC1C90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FEC1CD0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE3FEC1CB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE3F254330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE3F6FE760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE3FEC0D18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE3FEC0D30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,15387801D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,15387801960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE3FEC0D58
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE3FEC0D40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE3F9345A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE3F30D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE3FD2CD80]
int       3
M02_L18
 
mov       rcx,153878002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,15387801968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,153878002E0
xor       ecx,ecx
mov       rdx,15387801970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE3FEC0D30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE3F6FE250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE3F110FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE3FEC1E10
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F934AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE3F934588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F25F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE3F5C5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE3FEC1DF0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE3F111000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE3F111000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,194156D0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE3F71E070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE3F71E058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE3F71E0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F274348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FEE1D78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FEE1D98
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FEE1DD8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE3FEE1DB8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE3F274330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE3F71E760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE3FEE0E20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE3FEE0E38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE3F27FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,20D18801D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,20D18801960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE3FEE0E60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE3F274390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE3FEE0E48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE3F729A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE3F9545A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE3F32D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE3F729A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE3FD4CD80]
int       3
M02_L18
 
mov       rcx,20D188002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,20D18801968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,20D188002E0
xor       ecx,ecx
mov       rdx,20D18801970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE3FEE0E38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE3F27FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE3F71E250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE3F130FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE3FEE1F18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE3F729A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F954AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE3F954588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F27F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE3F5E5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE3FEE1EF8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE3F131000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE3F131000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,24DAA630008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE3F72E070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE3F72E058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE3F72E0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F284348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FEF1EE0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FEF1F00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FEF1F40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE3FEF1F20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE3F284330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE3F72E760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE3FEF1488
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE3FEF14A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,1F20AC01D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,1F20AC01960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE3FEF14C8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE3F284390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE3FEF14B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE3F739A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE3F9645A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE3F33D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE3F739A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE3FD5CE40]
int       3
M02_L18
 
mov       rcx,1F20AC002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,1F20AC01968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,1F20AC002E0
xor       ecx,ecx
mov       rdx,1F20AC01970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE3FEF14A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE3F72E250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE3F140FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE3FEF2080
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE3F739A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F964AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE3F964588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F28F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE3F5F5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE3FEF2060
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE3F141000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE3F141000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE3F5F5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,23298C40008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE3F71E070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE3F71E058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE3F71E0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FF59988
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F274348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        short M01_L05
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FFE3FF599A8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L03
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L04
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FF599C8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L07
 
mov       rdx,rsi
call      qword ptr [7FFE3F274330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
je        short M01_L10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L08
jmp       short M01_L09
M01_L08
 
mov       rcx,rbx
mov       rdx,7FFE3FF599E8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L09
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       near ptr M01_L04
M01_L10
 
mov       eax,1F
jmp       near ptr M01_L04
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L16
test      ebx,ebx
jl        near ptr M02_L18
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE3F71E760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE3FF57048
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE3FF57060
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE3F27FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,2AD0E801D60
cmp       rbp,[rcx]
jne       short M02_L08
mov       rcx,2AD0E801960
mov       rax,[rcx]
jmp       short M02_L09
M02_L08
 
mov       rax,2AD0E8002D8
cmp       rbp,[rax]
jne       near ptr M02_L19
mov       rcx,2AD0E801968
mov       rax,[rcx]
M02_L09
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L10
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L11
jmp       short M02_L12
M02_L11
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE3FF57088
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L12
 
mov       rdx,r8
call      qword ptr [7FFE3F274390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L13
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L14
jmp       short M02_L15
M02_L14
 
mov       rcx,r12
mov       rdx,7FFE3FF57070
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L15
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L16
 
cmp       edi,0FFFFFFFF
je        short M02_L17
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE3F729A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE3F9545A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE3F32D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L17
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L18
 
mov       ecx,0B98
mov       rdx,7FFE3F729A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE3FCD4648]
int       3
M02_L19
 
mov       rcx,2AD0E8002E0
xor       eax,eax
mov       rdx,2AD0E801970
cmp       rbp,[rcx]
cmove     rax,[rdx]
mov       r8,rax
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L10
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE3FF57060
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE3F27FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L13
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L13
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE3F71E250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE3F131310
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE3FF59B18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE3F729A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F954AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE3F954588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F27F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE3F5E5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE3FF59AF8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE3F131318
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE3F131318
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,2ED9C970008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE3F6FE070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE3F6FE058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE3F6FE0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FFD1BC8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F254348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        short M01_L05
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0C8]
test      r11,r11
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FFE3FFD1BE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L03
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L04
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D0]
test      rcx,rcx
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FFD1C08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L07
 
mov       rdx,rsi
call      qword ptr [7FFE3F254330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
je        short M01_L10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D8]
test      r11,r11
je        short M01_L08
jmp       short M01_L09
M01_L08
 
mov       rcx,rbx
mov       rdx,7FFE3FFD1C28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L09
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       near ptr M01_L04
M01_L10
 
mov       eax,1F
jmp       near ptr M01_L04
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L16
test      ebx,ebx
jl        near ptr M02_L18
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE3F6FE760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A0]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE3FF1F658
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0A8]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE3FF1F670
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,1A8F4801D60
cmp       rbp,[rcx]
jne       short M02_L08
mov       rcx,1A8F4801960
mov       rax,[rcx]
jmp       short M02_L09
M02_L08
 
mov       rax,1A8F48002D8
cmp       rbp,[rax]
jne       near ptr M02_L19
mov       rcx,1A8F4801968
mov       rax,[rcx]
M02_L09
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L10
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L11
jmp       short M02_L12
M02_L11
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE3FF1F698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L12
 
mov       rdx,r8
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L13
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L14
jmp       short M02_L15
M02_L14
 
mov       rcx,r12
mov       rdx,7FFE3FF1F680
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L15
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L16
 
cmp       edi,0FFFFFFFF
je        short M02_L17
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE3F9345A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE3F30D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L17
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L18
 
mov       ecx,0B98
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE3FCB4648]
int       3
M02_L19
 
mov       rcx,1A8F48002E0
xor       eax,eax
mov       rdx,1A8F4801970
cmp       rbp,[rcx]
cmove     rax,[rdx]
mov       r8,rax
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L10
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0A8]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE3FF1F670
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L13
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L13
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E0]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E8]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE3F6FE250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE3F111BA0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE3FFD1D58
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE3F709A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F934AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE3F934588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F25F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE3F5C5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE3FFD1D38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE3F111BA8
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE3F111BA8
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,1E986650008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE3FD54D98]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE3FD54DE0]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L27
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L05
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L05
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
M01_L01
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+18]
test      rax,rax
je        near ptr M01_L06
M01_L02
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F284360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L28
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L08
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F284360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L10
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE3F28EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L07
cmp       qword ptr [rbp+20],0
je        short M01_L10
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       short M01_L10
M01_L05
 
mov       rdx,7FFE3FD66598
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L06
 
mov       rdx,7FFE3FD655C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L02
M01_L07
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
jne       short M01_L09
jmp       short M01_L10
M01_L08
 
mov       rdx,7FFE3FD65A78
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L19
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        near ptr M01_L17
M01_L11
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE3F28EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L12
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L16
M01_L13
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       r11,[rdx+30]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE3FD65B80
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE3F28EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
mov       rax,[rbp-30]
M01_L16
 
mov       rcx,rax
mov       r11,7FFE3F141050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L13
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE3FD65A78
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L11
M01_L18
 
mov       rcx,rax
mov       rdx,7FFE3FD65B60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L12
M01_L19
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L20
jmp       short M01_L21
M01_L20
 
mov       rcx,rax
mov       rdx,7FFE3FD655C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L21
 
call      qword ptr [7FFE3FD54600]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L24
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L22
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L22
jmp       short M01_L23
M01_L22
 
mov       rcx,rax
mov       rdx,7FFE3FD66428
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L23
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L24
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rax
mov       rdx,7FFE3FD655C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L26
 
call      qword ptr [7FFE3FD54600]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L27
 
mov       ecx,6A7
mov       rdx,7FFE3FD44CA8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD54E70]
int       3
M01_L28
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE3F141058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0C8
lea       rbp,[rsp+100]
xor       eax,eax
mov       [rbp-88],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3F28EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L41
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FD68688
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L47
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE3F284390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD686C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE3F28ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F72EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE3F284390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FD68788
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE3F28ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE3F72EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-8C],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        near ptr M02_L20
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L15
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L15
jmp       short M02_L16
M02_L12
 
mov       eax,[rbp-8C]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       rcx,rbx
mov       rdx,7FFE3FD69498
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L16
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD5D038]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L48
lea       r10,[rdi+10]
mov       r11d,[rbp-8C]
mov       [rbp-0A8],r10
mov       [rbp-6C],r11d
mov       rcx,2C4870002E0
xor       r9d,r9d
cmp       r14,[rcx]
sete      r9b
mov       [rbp-44],r9d
test      r9d,r9d
jne       near ptr M02_L53
xor       r8d,r8d
movzx     edx,r8b
test      r15d,r15d
je        near ptr M02_L54
M02_L17
 
mov       [rbp-88],r10
mov       [rbp-80],r11d
mov       [rsp+20],r13d
lea       rcx,[rbp-68]
mov       [rsp+28],rcx
lea       rcx,[rbp-88]
mov       [rbp-48],edx
mov       r8d,r9d
mov       r9d,r15d
call      qword ptr [7FFE3FD5D8D8]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       edx,[rbp-48]
mov       r9d,[rbp-44]
mov       r10,[rbp-0A8]
mov       r11d,[rbp-6C]
je        near ptr M02_L54
M02_L18
 
movzx     eax,byte ptr [rbp-68]
movzx     r8d,byte ptr [rbp-67]
mov       r13d,[rbp-64]
mov       r15d,[rbp-60]
mov       r10d,[rbp-5C]
mov       [rbp-74],r10d
mov       r9d,[rbp-58]
mov       [rbp-78],r9d
test      r15d,r15d
je        near ptr M02_L31
test      r13d,r13d
jl        short M02_L19
test      eax,eax
jne       near ptr M02_L66
cmp       r15d,1
je        near ptr M02_L73
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L28
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L28
jmp       near ptr M02_L29
M02_L19
 
test      eax,eax
je        near ptr M02_L59
test      r8d,r8d
jne       near ptr M02_L56
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L22
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L22
jmp       short M02_L23
M02_L20
 
mov       r15d,edx
jmp       near ptr M02_L09
M02_L21
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L22
 
mov       rcx,rbx
mov       rdx,7FFE3FD6FF80
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L23
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD5EB50]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L24
 
mov       r12,rax
jmp       short M02_L21
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE3FD6A568
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE3F2843F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FD6CA48
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L29
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD5EB50]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
M02_L30
 
jmp       near ptr M02_L21
M02_L31
 
test      eax,eax
je        near ptr M02_L38
test      r8d,r8d
jne       short M02_L34
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L32
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE3FD6B7A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD84360]
jmp       short M02_L37
M02_L34
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L35
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L35
jmp       short M02_L36
M02_L35
 
mov       rcx,rbx
mov       rdx,7FFE3FD6AF10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L36
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD5F888]
M02_L37
 
mov       r12,r15
jmp       near ptr M02_L21
M02_L38
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L39
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L39
jmp       short M02_L40
M02_L39
 
mov       rcx,rbx
mov       rdx,7FFE3FD6A558
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L40
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD5EC88]
mov       r12,r15
jmp       near ptr M02_L21
M02_L41
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L44
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L42
jmp       short M02_L43
M02_L42
 
mov       rcx,rbx
mov       rdx,7FFE3FD68518
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L43
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE3FD5C5D0]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L44
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L45
jmp       short M02_L46
M02_L45
 
mov       rcx,rbx
mov       rdx,7FFE3FD67DD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L46
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD575A0]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L47
 
mov       rcx,2C4870002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,2C4870002E0
cmp       rdi,[rcx]
jne       near ptr M02_L41
jmp       near ptr M02_L02
M02_L48
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L50
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L49
jmp       short M02_L52
M02_L49
 
mov       [rbp-98],rax
jmp       short M02_L51
M02_L50
 
mov       [rbp-98],rax
M02_L51
 
mov       rcx,rbx
mov       rdx,7FFE3FD6A568
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-98]
M02_L52
 
mov       rdx,rax
call      qword ptr [7FFE3F2843D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L53
 
mov       [rbp-88],r10
mov       [rbp-80],r11d
lea       rcx,[rbp-88]
call      qword ptr [7FFE3FD5D908]
mov       r8d,eax
movzx     edx,r8b
mov       eax,edx
test      r15d,r15d
mov       edx,eax
mov       r9d,[rbp-44]
mov       r10,[rbp-0A8]
mov       r11d,[rbp-6C]
jne       near ptr M02_L17
M02_L54
 
mov       rcx,2C48F007660
mov       rax,[rcx]
mov       [rbp-0B0],r10
mov       [rbp-70],r11d
mov       [rbp-4C],edx
mov       [rbp-50],r9d
test      rax,rax
jne       short M02_L55
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       [rbp-0A0],rax
mov       rdx,2C48F007658
mov       rdx,[rdx]
mov       rcx,rax
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE3F284210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,2C48F007660
mov       rdx,[rbp-0A0]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,[rbp-0A0]
M02_L55
 
mov       r8,[rbp-0B0]
mov       [rbp-88],r8
mov       r10d,[rbp-70]
mov       [rbp-80],r10d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       r8d,r8d
mov       [rsp+30],r8d
mov       [rsp+38],r8d
mov       [rsp+40],rax
lea       rdx,[rbp-88]
movzx     r8d,byte ptr [rbp-4C]
movzx     r9d,byte ptr [rbp-50]
lea       rcx,[rbp-68]
call      qword ptr [7FFE3FD5D8F0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L18
M02_L56
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L57
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE3FD6F6F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD8CD20]
mov       rax,r12
jmp       near ptr M02_L24
M02_L59
 
cmp       r15d,1
je        short M02_L62
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L60
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE3FD6EC68
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD8C2A0]
jmp       short M02_L65
M02_L62
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L63
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L63
jmp       short M02_L64
M02_L63
 
mov       rcx,rbx
mov       rdx,7FFE3FD6E3E0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L64
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD87810]
M02_L65
 
jmp       near ptr M02_L21
M02_L66
 
test      r8d,r8d
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L67
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE3FD6DB58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD86D90]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L70
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE3FD6D2D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD86310]
M02_L72
 
jmp       near ptr M02_L21
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L74
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE3FD6C1C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD84E10]
jmp       near ptr M02_L30
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE3FD565E0]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE3FD56628]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L27
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L05
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L05
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE3F284360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L28
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L08
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F284360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L10
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        short M01_L06
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE3F28EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L09
cmp       qword ptr [rbp+20],0
je        near ptr M01_L10
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L06
jmp       short M01_L10
M01_L05
 
mov       rdx,7FFE3FD70980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L19
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L07
 
mov       rdx,7FFE3FD6F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,7FFE3FD6FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L09
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
jne       short M01_L06
M01_L10
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        near ptr M01_L17
M01_L11
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE3F28EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L12
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L16
M01_L13
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       r11,[rdx+30]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE3FD6FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE3F28EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
mov       rax,[rbp-30]
M01_L16
 
mov       rcx,rax
mov       r11,7FFE3F141050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L13
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L06
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE3FD6FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L11
M01_L18
 
mov       rcx,rax
mov       rdx,7FFE3FD6FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L12
M01_L19
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L20
jmp       short M01_L21
M01_L20
 
mov       rcx,rax
mov       rdx,7FFE3FD6F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L21
 
call      qword ptr [7FFE3FD55E48]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L24
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L22
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L22
jmp       short M01_L23
M01_L22
 
mov       rcx,rax
mov       rdx,7FFE3FD70810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L23
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L24
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rax
mov       rdx,7FFE3FD6F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L26
 
call      qword ptr [7FFE3FD55E48]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L27
 
mov       ecx,6A7
mov       rdx,7FFE3FD49010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD566B8]
int       3
M01_L28
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE3F141058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0C8
lea       rbp,[rsp+100]
xor       eax,eax
mov       [rbp-88],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3F28EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FD72A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L37
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE3F284390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD72AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE3F28ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F72EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE3F284390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FD72B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE3F28ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE3F72EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-8C],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        near ptr M02_L19
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L20
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L20
jmp       near ptr M02_L21
M02_L12
 
mov       eax,[rbp-8C]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-44]
xor       eax,eax
M02_L16
 
movzx     eax,al
mov       [rbp-48],eax
test      r15d,r15d
je        near ptr M02_L43
mov       [rbp-88],rdx
mov       [rbp-80],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-68]
mov       [rsp+28],rcx
lea       rcx,[rbp-88]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE3FD5F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-48]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
je        near ptr M02_L43
M02_L17
 
movzx     eax,byte ptr [rbp-68]
movzx     r8d,byte ptr [rbp-67]
mov       r13d,[rbp-64]
mov       r15d,[rbp-60]
mov       r10d,[rbp-5C]
mov       [rbp-74],r10d
mov       r9d,[rbp-58]
mov       [rbp-78],r9d
test      r15d,r15d
je        near ptr M02_L65
test      r13d,r13d
jl        short M02_L18
test      eax,eax
jne       near ptr M02_L55
cmp       r15d,1
je        near ptr M02_L62
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L22
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L22
jmp       near ptr M02_L23
M02_L18
 
test      eax,eax
je        near ptr M02_L48
test      r8d,r8d
jne       near ptr M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       near ptr M02_L25
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        near ptr M02_L25
jmp       near ptr M02_L26
M02_L19
 
mov       r15d,edx
jmp       near ptr M02_L09
M02_L20
 
mov       rcx,rbx
mov       rdx,7FFE3FD73880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L21
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD5E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L38
lea       rdx,[rdi+10]
mov       r8d,[rbp-8C]
mov       [rbp-0A8],rdx
mov       [rbp-6C],r8d
mov       rcx,1F4D1C002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-44],r10d
test      r10d,r10d
je        near ptr M02_L15
mov       [rbp-88],rdx
mov       [rbp-80],r8d
lea       rcx,[rbp-88]
call      qword ptr [7FFE3FD5F1C8]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
jmp       near ptr M02_L16
M02_L22
 
mov       rcx,rbx
mov       rdx,7FFE3FD76E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L23
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD94480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L28
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L28
jmp       short M02_L29
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE3FD7A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD94480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L27
 
mov       r12,rax
jmp       short M02_L24
M02_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FD74950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L29
 
mov       rax,r12
test      rax,rax
je        short M02_L30
cmp       [rax],rcx
je        short M02_L30
mov       rdx,r12
call      qword ptr [7FFE3F2843F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L30
 
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L34
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE3FD72900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE3FD5DE90]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L35
jmp       short M02_L36
M02_L35
 
mov       rcx,rbx
mov       rdx,7FFE3FD721C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L36
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD5D2C0]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L37
 
mov       rcx,1F4D1C002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1F4D1C002E0
cmp       rdi,[rcx]
jne       near ptr M02_L31
jmp       near ptr M02_L02
M02_L38
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L40
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L39
jmp       short M02_L42
M02_L39
 
mov       [rbp-98],rax
jmp       short M02_L41
M02_L40
 
mov       [rbp-98],rax
M02_L41
 
mov       rcx,rbx
mov       rdx,7FFE3FD74950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-98]
M02_L42
 
mov       rdx,rax
call      qword ptr [7FFE3F2843D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L43
 
mov       rcx,1F4D1C14BF0
mov       r9,[rcx]
mov       [rbp-0B0],rdx
mov       [rbp-70],r8d
mov       [rbp-4C],eax
mov       [rbp-50],r10d
test      r9,r9
jne       short M02_L44
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0A0],r9
mov       rdx,1F4D1C14BE8
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE3F284210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1F4D1C14BF0
mov       rdx,[rbp-0A0]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0A0]
M02_L44
 
mov       rdx,[rbp-0B0]
mov       [rbp-88],rdx
mov       r8d,[rbp-70]
mov       [rbp-80],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-88]
movzx     r8d,byte ptr [rbp-4C]
movzx     r9d,byte ptr [rbp-50]
lea       rcx,[rbp-68]
call      qword ptr [7FFE3FD5F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L17
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE3FD79AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD9E8B0]
mov       rax,r12
jmp       near ptr M02_L27
M02_L48
 
cmp       r15d,1
je        short M02_L51
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L49
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L49
jmp       short M02_L50
M02_L49
 
mov       rcx,rbx
mov       rdx,7FFE3FD79050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L50
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD9DE30]
jmp       short M02_L54
M02_L51
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L52
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L52
jmp       short M02_L53
M02_L52
 
mov       rcx,rbx
mov       rdx,7FFE3FD787C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L53
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD9D3B0]
M02_L54
 
jmp       near ptr M02_L24
M02_L55
 
test      r8d,r8d
jne       short M02_L58
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L56
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L56
jmp       short M02_L57
M02_L56
 
mov       rcx,rbx
mov       rdx,7FFE3FD77F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L57
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD9C930]
jmp       short M02_L61
M02_L58
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L59
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L59
jmp       short M02_L60
M02_L59
 
mov       rcx,rbx
mov       rdx,7FFE3FD776B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L60
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD97C30]
M02_L61
 
jmp       near ptr M02_L24
M02_L62
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L63
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L63
jmp       short M02_L64
M02_L63
 
mov       rcx,rbx
mov       rdx,7FFE3FD765A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L64
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD96730]
jmp       near ptr M02_L24
M02_L65
 
test      eax,eax
je        near ptr M02_L72
test      r8d,r8d
jne       short M02_L68
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L66
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L66
jmp       short M02_L67
M02_L66
 
mov       rcx,rbx
mov       rdx,7FFE3FD75B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L67
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD95C80]
jmp       short M02_L71
M02_L68
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L69
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L69
jmp       short M02_L70
M02_L69
 
mov       rcx,rbx
mov       rdx,7FFE3FD752F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L70
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD951B8]
M02_L71
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L72
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L73
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L73
jmp       short M02_L74
M02_L73
 
mov       rcx,rbx
mov       rdx,7FFE3FD74940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L74
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD945B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE3FD265E0]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE3FD26628]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L27
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L05
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L05
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
M01_L01
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+18]
test      rax,rax
je        near ptr M01_L06
M01_L02
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L28
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L08
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L10
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE3F25EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L07
cmp       qword ptr [rbp+20],0
je        short M01_L10
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       short M01_L10
M01_L05
 
mov       rdx,7FFE3FD40980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L06
 
mov       rdx,7FFE3FD3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L02
M01_L07
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
jne       short M01_L09
jmp       short M01_L10
M01_L08
 
mov       rdx,7FFE3FD3FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L19
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        near ptr M01_L17
M01_L11
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE3F25EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L12
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L16
M01_L13
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       r11,[rdx+30]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE3FD3FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE3F25EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
mov       rax,[rbp-30]
M01_L16
 
mov       rcx,rax
mov       r11,7FFE3F111050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L13
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE3FD3FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L11
M01_L18
 
mov       rcx,rax
mov       rdx,7FFE3FD3FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L12
M01_L19
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L20
jmp       short M01_L21
M01_L20
 
mov       rcx,rax
mov       rdx,7FFE3FD3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L21
 
call      qword ptr [7FFE3FD25E48]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L24
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L22
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L22
jmp       short M01_L23
M01_L22
 
mov       rcx,rax
mov       rdx,7FFE3FD40810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L23
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L24
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rax
mov       rdx,7FFE3FD3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L26
 
call      qword ptr [7FFE3FD25E48]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L27
 
mov       ecx,6A7
mov       rdx,7FFE3FD19010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD266B8]
int       3
M01_L28
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE3F111058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0C8
lea       rbp,[rsp+100]
xor       eax,eax
mov       [rbp-88],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3F25EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L42
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FD42A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L48
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD42AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE3F25ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F6FEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FD42B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE3F25ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE3F6FEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-8C],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        near ptr M02_L19
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L20
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L20
jmp       near ptr M02_L21
M02_L12
 
mov       eax,[rbp-8C]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-44]
xor       eax,eax
M02_L16
 
movzx     eax,al
mov       [rbp-48],eax
test      r15d,r15d
je        near ptr M02_L54
mov       [rbp-88],rdx
mov       [rbp-80],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-68]
mov       [rsp+28],rcx
lea       rcx,[rbp-88]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE3FD2F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-48]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
je        near ptr M02_L54
M02_L17
 
movzx     eax,byte ptr [rbp-68]
movzx     r8d,byte ptr [rbp-67]
mov       r13d,[rbp-64]
mov       r15d,[rbp-60]
mov       r10d,[rbp-5C]
mov       [rbp-74],r10d
mov       r9d,[rbp-58]
mov       [rbp-78],r9d
test      r15d,r15d
je        near ptr M02_L32
test      r13d,r13d
jl        short M02_L18
test      eax,eax
jne       near ptr M02_L66
cmp       r15d,1
je        near ptr M02_L73
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L29
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L29
jmp       near ptr M02_L30
M02_L18
 
test      eax,eax
je        near ptr M02_L59
test      r8d,r8d
jne       near ptr M02_L56
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       near ptr M02_L23
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        near ptr M02_L23
jmp       near ptr M02_L24
M02_L19
 
mov       r15d,edx
jmp       near ptr M02_L09
M02_L20
 
mov       rcx,rbx
mov       rdx,7FFE3FD43880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L21
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD2E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L49
lea       rdx,[rdi+10]
mov       r8d,[rbp-8C]
mov       [rbp-0A8],rdx
mov       [rbp-6C],r8d
mov       rcx,21CE34002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-44],r10d
test      r10d,r10d
je        near ptr M02_L15
mov       [rbp-88],rdx
mov       [rbp-80],r8d
lea       rcx,[rbp-88]
call      qword ptr [7FFE3FD2F1C8]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
jmp       near ptr M02_L16
M02_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L26
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L26
jmp       short M02_L27
M02_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FD4A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L24
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD64480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L25
 
mov       r12,rax
jmp       short M02_L22
M02_L26
 
mov       rcx,rbx
mov       rdx,7FFE3FD44950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L27
 
mov       rax,r12
test      rax,rax
je        short M02_L28
cmp       [rax],rcx
je        short M02_L28
mov       rdx,r12
call      qword ptr [7FFE3F2543F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L28
 
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE3FD46E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD64480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
M02_L31
 
jmp       near ptr M02_L22
M02_L32
 
test      eax,eax
je        near ptr M02_L39
test      r8d,r8d
jne       short M02_L35
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L33
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L33
jmp       short M02_L34
M02_L33
 
mov       rcx,rbx
mov       rdx,7FFE3FD45B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L34
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD65C80]
jmp       short M02_L38
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L36
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L37
M02_L36
 
mov       rcx,rbx
mov       rdx,7FFE3FD452F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L37
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD651B8]
M02_L38
 
mov       r12,r15
jmp       near ptr M02_L22
M02_L39
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L40
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L40
jmp       short M02_L41
M02_L40
 
mov       rcx,rbx
mov       rdx,7FFE3FD44940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L41
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD645B8]
mov       r12,r15
jmp       near ptr M02_L22
M02_L42
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L45
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE3FD42900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE3FD2DE90]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L45
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE3FD421C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD2D2C0]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L48
 
mov       rcx,21CE34002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,21CE34002E0
cmp       rdi,[rcx]
jne       near ptr M02_L42
jmp       near ptr M02_L02
M02_L49
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L51
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L53
M02_L50
 
mov       [rbp-98],rax
jmp       short M02_L52
M02_L51
 
mov       [rbp-98],rax
M02_L52
 
mov       rcx,rbx
mov       rdx,7FFE3FD44950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-98]
M02_L53
 
mov       rdx,rax
call      qword ptr [7FFE3F2543D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L54
 
mov       rcx,21CEB412BF8
mov       r9,[rcx]
mov       [rbp-0B0],rdx
mov       [rbp-70],r8d
mov       [rbp-4C],eax
mov       [rbp-50],r10d
test      r9,r9
jne       short M02_L55
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0A0],r9
mov       rdx,21CEB412BF0
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE3F254210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,21CEB412BF8
mov       rdx,[rbp-0A0]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0A0]
M02_L55
 
mov       rdx,[rbp-0B0]
mov       [rbp-88],rdx
mov       r8d,[rbp-70]
mov       [rbp-80],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-88]
movzx     r8d,byte ptr [rbp-4C]
movzx     r9d,byte ptr [rbp-50]
lea       rcx,[rbp-68]
call      qword ptr [7FFE3FD2F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L17
M02_L56
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L57
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE3FD49AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6E8B0]
mov       rax,r12
jmp       near ptr M02_L25
M02_L59
 
cmp       r15d,1
je        short M02_L62
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L60
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE3FD49050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6DE30]
jmp       short M02_L65
M02_L62
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L63
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L63
jmp       short M02_L64
M02_L63
 
mov       rcx,rbx
mov       rdx,7FFE3FD487C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L64
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6D3B0]
M02_L65
 
jmp       near ptr M02_L22
M02_L66
 
test      r8d,r8d
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L67
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE3FD47F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6C930]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L70
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE3FD476B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD67C30]
M02_L72
 
jmp       near ptr M02_L22
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L74
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE3FD465A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD66730]
jmp       near ptr M02_L31
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE3FD265E0]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE3FD26628]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE3F25EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE3FD40980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE3FD3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE3FD3FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE3FD3FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE3F25EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE3FD3FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE3FD3FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE3F25EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE3F111050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE3FD3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE3FD25E48]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE3FD40810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE3FD3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE3FD25E48]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE3FD19010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD266B8]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE3F111058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3F25EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L27
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FD42A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L33
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD42AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE3F25ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F6FEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FD42B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE3F25ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE3F6FEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L16
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L16
jmp       short M02_L17
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       rcx,rbx
mov       rdx,7FFE3FD43880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L17
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD2E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L34
lea       r10,[rdi+10]
mov       r11d,[rbp-0A4]
mov       [rbp-0C0],r10
mov       [rbp-84],r11d
mov       rcx,1D9C6C002E0
xor       r9d,r9d
cmp       r14,[rcx]
sete      r9b
mov       [rbp-5C],r9d
test      r9d,r9d
jne       near ptr M02_L39
xor       r8d,r8d
movzx     edx,r8b
test      r15d,r15d
je        near ptr M02_L40
M02_L18
 
mov       [rbp-0A0],r10
mov       [rbp-98],r11d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       [rbp-60],edx
mov       r8d,r9d
mov       r9d,r15d
call      qword ptr [7FFE3FD2F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       edx,[rbp-60]
mov       r9d,[rbp-5C]
mov       r10,[rbp-0C0]
mov       r11d,[rbp-84]
je        near ptr M02_L40
M02_L19
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       short M02_L20
mov       rcx,[rcx+70]
test      rcx,rcx
je        short M02_L20
jmp       short M02_L21
M02_L20
 
mov       rcx,rbx
mov       rdx,7FFE3FD46E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L21
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD64480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L22
 
mov       r12,rax
M02_L23
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L24
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L24
jmp       short M02_L25
M02_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FD44950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L25
 
mov       rax,r12
test      rax,rax
je        short M02_L26
cmp       [rax],rcx
je        short M02_L26
mov       rdx,r12
call      qword ptr [7FFE3F2543F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L26
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L27
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L30
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L28
jmp       short M02_L29
M02_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FD42900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L29
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE3FD2DE90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L30
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L31
jmp       short M02_L32
M02_L31
 
mov       rcx,rbx
mov       rdx,7FFE3FD421C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L32
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD2D2C0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L33
 
mov       rcx,1D9C6C002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1D9C6C002E0
cmp       rdi,[rcx]
jne       near ptr M02_L27
jmp       near ptr M02_L02
M02_L34
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L36
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L35
jmp       short M02_L38
M02_L35
 
mov       [rbp-0B0],rax
jmp       short M02_L37
M02_L36
 
mov       [rbp-0B0],rax
M02_L37
 
mov       rcx,rbx
mov       rdx,7FFE3FD44950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L38
 
mov       rdx,rax
call      qword ptr [7FFE3F2543D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L39
 
mov       [rbp-0A0],r10
mov       [rbp-98],r11d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE3FD2F1C8]
mov       r8d,eax
movzx     edx,r8b
mov       eax,edx
test      r15d,r15d
mov       edx,eax
mov       r9d,[rbp-5C]
mov       r10,[rbp-0C0]
mov       r11d,[rbp-84]
jne       near ptr M02_L18
M02_L40
 
mov       rcx,1D9C2C12BF8
mov       rax,[rcx]
mov       [rbp-0C8],r10
mov       [rbp-88],r11d
mov       [rbp-64],edx
mov       [rbp-68],r9d
test      rax,rax
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       [rbp-0B8],rax
mov       rdx,1D9C2C12BF0
mov       rdx,[rdx]
mov       rcx,rax
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE3F254210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1D9C2C12BF8
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,[rbp-0B8]
M02_L41
 
mov       r8,[rbp-0C8]
mov       [rbp-0A0],r8
mov       r10d,[rbp-88]
mov       [rbp-98],r10d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       r8d,r8d
mov       [rsp+30],r8d
mov       [rsp+38],r8d
mov       [rsp+40],rax
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE3FD2F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L19
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE3FD4A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6F330]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE3FD49AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6E8B0]
M02_L48
 
jmp       near ptr M02_L23
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE3FD49050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6DE30]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE3FD487C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6D3B0]
M02_L55
 
jmp       near ptr M02_L23
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE3FD47F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6C930]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE3FD476B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD67C30]
M02_L62
 
jmp       near ptr M02_L23
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE3FD465A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD66730]
mov       rax,r12
jmp       near ptr M02_L22
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE3FD45B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD65C80]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE3FD452F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD651B8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L23
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE3FD44940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD645B8]
mov       r12,r15
jmp       near ptr M02_L23
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE3FD36850]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE3FD36898]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE3F26FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE3F26EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE3FD50980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE3FD4F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE3FD4FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE3FD4FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE3F26EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE3FD4FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE3FD4FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE3F26EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE3F121050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE3FD4F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE3FD360B8]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE3FD50810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE3FD4F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE3FD360B8]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE3FD24240
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD36928]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE3F121058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3F26EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FD52A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE3F26FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE3F264390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD52AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE3F26ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F70EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE3F264390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FD52B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE3F26ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE3F70EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L16
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L17
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L17
jmp       short M02_L18
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-5C]
xor       eax,eax
jmp       near ptr M02_L19
M02_L16
 
mov       r15d,edx
jmp       short M02_L09
M02_L17
 
mov       rcx,rbx
mov       rdx,7FFE3FD53880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L18
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD3E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,22A508002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        short M02_L15
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE3FD3F1C8]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
M02_L19
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE3FD3F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L20
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       short M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE3FD56E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD74480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE3FD54950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE3F2643F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE3FD52900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE3FD3DE90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE3FD521C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD3D2C0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,22A508002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,22A508002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FFE3FD54950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FFE3F2643D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,22A4C812BF8
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,22A4C812BF0
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE3F264210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,22A4C812BF8
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE3FD3F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L20
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE3FD5A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD7F330]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE3FD59AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD7E8B0]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE3FD59050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD7DE30]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE3FD587C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD7D3B0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE3FD57F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD7C930]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE3FD576B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD77C30]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE3FD565A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD76730]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE3FD55B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD75C80]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE3FD552F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD751B8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE3FD54940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD745B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE3FD26850]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE3FD26898]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE3F25EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE3FD40980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE3FD3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE3FD3FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE3FD3FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE3F25EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE3FD3FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE3FD3FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE3F25EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE3F111050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE3FD3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE3FD260B8]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE3FD40810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE3FD3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE3FD260B8]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE3FD19A60
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD26928]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE3F111058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3F25EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FD42A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD42AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE3F25ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F6FEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FD42B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE3F25ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE3F6FEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L16
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L17
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L17
jmp       short M02_L18
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-5C]
xor       eax,eax
jmp       near ptr M02_L19
M02_L16
 
mov       r15d,edx
jmp       short M02_L09
M02_L17
 
mov       rcx,rbx
mov       rdx,7FFE3FD43880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L18
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD2E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,20D90C002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        short M02_L15
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE3FD2F1C8]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
M02_L19
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE3FD2F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L20
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       short M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE3FD46E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD64480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE3FD44950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE3F2543F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE3FD42900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE3FD2DE90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE3FD421C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD2D2C0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,20D90C002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,20D90C002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FFE3FD44950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FFE3F2543D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,20D94C07660
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,20D94C07658
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE3F254210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,20D94C07660
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE3FD2F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L20
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE3FD4A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6F330]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE3FD49AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6E8B0]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE3FD49050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6DE30]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE3FD487C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6D3B0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE3FD47F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD6C930]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE3FD476B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD67C30]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE3FD465A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD66730]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE3FD45B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD65C80]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE3FD452F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD651B8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE3FD44940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FD645B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE3FE67180]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE3FE671C8]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE3F25EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE3FE90980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE3FE7F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE3FE7FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE3FE7FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE3F25EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE3FE7FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE3FE7FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE3F25EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE3F111370
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE3FE7F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE3FE669E8]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE3FE90810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE3FE7F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE3FE669E8]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE3FE5C588
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FE67258]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE3F111378
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3F25EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FE92A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE3F25FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FE92AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE3F25ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F6FEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE3F254390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FE92B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE3F25ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE3F6FEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L19
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L19
jmp       near ptr M02_L20
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       r10d,[rbp-5C]
xor       eax,eax
M02_L17
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE3FE6FA68]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L18
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L21
jmp       near ptr M02_L22
M02_L19
 
mov       rcx,rbx
mov       rdx,7FFE3FE93880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L20
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FE6F1C8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,1D0EF8002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        near ptr M02_L16
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE3FE6FA98]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
jmp       near ptr M02_L17
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE3FE96E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEA4D20]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE3FE94950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE3F2543F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE3FE92900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE3FE6E760]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE3FE921C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FE6DB90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,1D0EF8002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1D0EF8002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FFE3FE94950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FFE3F2543D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,1D0EF814BF0
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,1D0EF814BE8
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE3F254210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1D0EF814BF0
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE3FE6FA80]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L18
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE3FE9A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEAFDB0]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE3FE99AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEAF330]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE3FE99050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEAE8B0]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE3FE987C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEADE30]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE3FE97F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEAD3B0]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE3FE976B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEAC930]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE3FE965A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEA6FD0]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE3FE95B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEA6520]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE3FE952F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEA5A58]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE3FE94940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FEA4E58]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE3FF165E0]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE3FF16628]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE3F284360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE3F284360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE3F28EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE3FF26598
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE3FF255C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE3FF25A78
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE3FF25A78
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE3F28EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE3FF25B60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE3FF25B80
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE3F28EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE3F141C00
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE3FF255C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE3FF15E48]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE3FF26428
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE3FF255C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE3FF15E48]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE3FF0AE20
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FF166B8]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE3F141C08
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3F28EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE3FF28688
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE3F28FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE3F284390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FF286C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE3F28ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE3F72EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE3F284390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FF28788
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE3F28ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE3F72EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L19
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L19
jmp       near ptr M02_L20
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       r10d,[rbp-5C]
xor       eax,eax
M02_L17
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE3FF1F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L18
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L21
jmp       near ptr M02_L22
M02_L19
 
mov       rcx,rbx
mov       rdx,7FFE3FF29498
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L20
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF1E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,13D1E0002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        near ptr M02_L16
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE3FF1F1C8]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
jmp       near ptr M02_L17
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE3FF69A30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF44480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE3FF2A568
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE3F2843F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE3FF28518
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE3FF1DE90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE3FF27DD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FF1D2C0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,13D1E0002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,13D1E0002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FFE3FF2A568
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FFE3F2843D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,13D1E014BF0
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,13D1E014BE8
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE3F284210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,13D1E014BF0
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE3FF1F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L18
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE3FF6CF68
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF4F330]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE3FF6C6E0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF4E8B0]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE3FF6BC50
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF4DE30]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE3FF6B3C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF4D3B0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE3FF6AB40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF4C930]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE3FF6A2B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF47C30]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE3FF2C1C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF46730]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE3FF2B7A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF45C80]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE3FF2AF10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF451B8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE3FF2A558
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE3FF445B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,1D82C812C18
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE3FD24F30]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,1D830801FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,1D82C812C20
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE3FD26F40]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2C888]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD24B70]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE3FD24900]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE3FD14CA8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD27678]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD3B418
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FD3B270
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE3FD26EE0]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE3FD14CA8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD27678]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE3FD27030]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE3F111100
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L27
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L27
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE3FD26220]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FD3B430
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FD3B250
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,rbx
mov       rdx,7FFE3FD39D38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
M01_L26
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE3FD27A50]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L30
M01_L28
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        near ptr M01_L25
jmp       short M01_L26
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE3FD14CA8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD27678]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE3F111108
call      qword ptr [r11]
jmp       short M01_L28
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE3F111108
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
je        short M02_L02
M02_L01
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L02
 
test      rsi,rsi
je        short M02_L03
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L04
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE3FD25E48]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L03
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD26F40]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD26F40]
mov       byte ptr [rbx+1C],1
jmp       short M02_L01
M02_L04
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L03
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,218BE780008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,13E6D814C10
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE3FD26778]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,13E6D801FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,13E6D814C18
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE3FD2C7F8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2DDE8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD263B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE3FD26148]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE3FD19010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD2CF30]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD45860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FD456B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE3FD2C798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE3FD19010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD2CF30]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE3FD2C8E8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE3F110FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE3FD27A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FD45878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FD45698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE3FD2D308]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FD44180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE3FD19010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD2CF30]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE3F110FE8
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE3F110FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE3FD27690]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2C7F8]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2C7F8]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,17EFB6D0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,22AC5814C10
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE3FD269E8]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,22AC5801FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,22AC5814C18
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE3FD2CA08]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2DFF8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD26628]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE3FD263B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE3FD19410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD2D140]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD45860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FD456B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE3FD2C9A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE3FD19410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD2D140]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE3FD2CAF8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE3F110FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE3FD27CD8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FD45878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FD45698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE3FD2D518]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FD44180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE3FD19410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD2D140]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE3F110FE8
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE3F110FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE3FD27900]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2CA08]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2CA08]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,26B53790008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,2A1D8014C10
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE3FD46778]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,2A1D8001FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,2A1D8014C18
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE3FD4C7F8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE3FD4DDE8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD463B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE3FD46148]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE3FD39010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD4CF30]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD65860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FD656B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE3FD4C798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE3FD39010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD4CF30]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE3FD4C8E8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE3F130FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE3FD47A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FD65878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FD65698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE3FD4D308]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FD64180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE3FD39010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD4CF30]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE3F130FE8
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE3F130FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE3FD47690]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD4C7F8]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD4C7F8]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,2E269DA0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,27DC7007680
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE3FD36778]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,27DBF001FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,27DC7007688
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE3FD3C7F8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE3FD3DDE8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD363B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE3FD36148]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE3FD29010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD3CF30]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD55860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FD556B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE3FD3C798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE3FD29010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD3CF30]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE3FD3C8E8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE3F5D5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE3F120FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE3FD37A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FD55878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FD55698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE3FD3D308]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FD54180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE3FD29010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD3CF30]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE3F120FE8
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE3F120FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE3FD37690]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD3C7F8]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD3C7F8]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,2BE50D80008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,221B4012C18
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE3FD269E8]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,221B8001FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,221B4012C20
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE3FD2CA08]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2DFF8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD26628]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE3FD263B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE3FD19A60
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD2D140]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L20
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FD45860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
nop       word ptr [rax+rax]
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FD456B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L11
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L15
mov       edx,[r8+18]
cmp       eax,edx
je        short M01_L10
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE3FD2C9A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
jmp       near ptr M01_L19
M01_L10
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       short M01_L16
M01_L11
 
mov       ecx,717
mov       rdx,7FFE3FD19A60
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD2D140]
int       3
M01_L12
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE3FD2CAF8]
mov       r15,rax
jmp       near ptr M01_L19
M01_L13
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L16
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L18
M01_L17
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE3FD27CD8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L12
jmp       near ptr M01_L09
M01_L18
 
mov       rcx,rbx
mov       rdx,7FFE3FD45878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L17
M01_L19
 
cmp       dword ptr [rbp-78],1
jne       short M01_L20
mov       rax,[rbp-0E8]
inc       r12d
M01_L20
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L22
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L13
M01_L21
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       short M01_L23
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       near ptr M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L21
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L22
 
mov       rcx,rax
mov       r11,7FFE3F110FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       short M01_L25
M01_L23
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       short M01_L25
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FD45698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE3FD2D518]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FD44180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE3FD19A60
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD2D140]
int       3
M01_L30
 
mov       rax,[rbp-0E8]
mov       rcx,rax
mov       r11,7FFE3F110FE8
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE3F110FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE3FD27900]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2CA08]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2CA08]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,26245D10008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,1DDCC014C10
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE3FE87318]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,1DDCC001FF8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,1DDCC014C18
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE3FE8D908]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE3FE8EEF8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE3FE86F58]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE3FE86CE8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE3FE76988
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FE8E040]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       r14,rcx
mov       rbx,rdx
mov       rdi,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      rdi,rdi
je        near ptr M01_L48
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L43
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-0E8],rax
test      rax,rax
je        near ptr M01_L25
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L25
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdi,[rcx+88]
test      rdi,rdi
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FFE3FEA5860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdi,rax
M01_L03
 
jmp       near ptr M01_L10
M01_L04
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L14
M01_L05
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       r11,rdi
mov       rcx,r8
mov       rdx,[rbp-50]
call      qword ptr [r11]
cmp       [r15],r15b
mov       r8,r15
M01_L06
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L15
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L13
mov       [rbp-54],eax
jle       short M01_L07
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L07
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L08
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE3FE8D8A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L09
 
cmp       dword ptr [rbp-78],1
jne       short M01_L10
mov       rax,[rbp-0E8]
inc       r12d
M01_L10
 
mov       rax,[rbp-0E8]
lea       r8,[rax+8]
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L11
 
mov       r10d,[r8+0C]
mov       r9,[r8]
cmp       r10d,[r9+38]
jae       near ptr M01_L42
mov       r9,[r9+10]
lea       ecx,[r10+1]
mov       [r8+0C],ecx
cmp       r10d,[r9+8]
jae       short M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L11
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
mov       [rbp-100],r8
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       short M01_L16
M01_L14
 
mov       rcx,rbx
mov       rdx,7FFE3FEA56B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L05
M01_L15
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L16
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r8,[rcx+90]
test      r8,r8
je        short M01_L18
mov       r10,[rbp-0F0]
mov       [rbp-54],eax
M01_L17
 
mov       r9,[rbp-0F8]
mov       [rsp+20],r9
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,r10
call      qword ptr [7FFE3FE8CBE8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L41
jmp       near ptr M01_L08
M01_L18
 
mov       [rbp-54],eax
mov       rcx,rbx
mov       rdx,7FFE3FEA5878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,[rbp-0F0]
jmp       near ptr M01_L17
M01_L19
 
mov       rcx,rbx
mov       rdx,7FFE3FEA5860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
M01_L20
 
mov       r11,rax
mov       rcx,rdi
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       edi,eax
cmp       [r15],r15b
mov       r8,r15
M01_L21
 
cmp       qword ptr [r8+8],0
je        near ptr M01_L29
mov       ecx,[r8+18]
cmp       edi,ecx
je        near ptr M01_L34
jle       short M01_L22
mov       r8,[r8+10]
jmp       short M01_L21
M01_L22
 
mov       r8,[r8+8]
jmp       short M01_L21
M01_L23
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,edi
mov       r9,r13
call      qword ptr [7FFE3FE8D8A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L24
 
cmp       dword ptr [rbp-78],1
jne       short M01_L25
mov       rax,[rbp-0E8]
inc       r12d
M01_L25
 
mov       rax,[rbp-0E8]
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L37
lea       rcx,[rax+8]
mov       rdi,rcx
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L26
 
mov       r10d,[rdi+0C]
mov       r8,[rdi]
cmp       r10d,[r8+38]
jae       near ptr M01_L36
mov       r9,[r8+10]
lea       ecx,[r10+1]
mov       [rdi+0C],ecx
cmp       r10d,[r9+8]
jae       near ptr M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L26
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
M01_L27
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L32
M01_L28
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       rdi,r8
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rax,[rcx+88]
test      rax,rax
je        near ptr M01_L19
jmp       near ptr M01_L20
M01_L29
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L30
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r10,[rcx+90]
test      r10,r10
je        near ptr M01_L33
mov       rax,[rbp-0F0]
M01_L31
 
mov       r8,[rbp-0F8]
mov       [rsp+20],r8
mov       [rsp+28],r13
mov       r8,[r13+10]
mov       [rsp+30],r8
mov       [rsp+38],esi
lea       r8,[rbp-78]
mov       [rsp+40],r8
mov       r8,r10
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,rax
call      qword ptr [7FFE3FE8CBE8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       r8,[rbp-80]
mov       [rbp-0C0],r8
cmp       qword ptr [rbp-0D0],0
je        short M01_L35
mov       rax,[rbp-0E8]
jmp       near ptr M01_L23
M01_L32
 
mov       rcx,rbx
mov       rdx,7FFE3FEA56B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L28
M01_L33
 
mov       rcx,rbx
mov       rdx,7FFE3FEA5878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,r8
mov       rax,[rbp-0F0]
jmp       near ptr M01_L31
M01_L34
 
mov       rax,[rbp-0E8]
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L30
M01_L35
 
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,edi
call      qword ptr [7FFE3FE8D9F8]
mov       r15,rax
jmp       near ptr M01_L24
M01_L36
 
mov       rax,[rbp-0E8]
mov       ecx,[r8+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L38
M01_L37
 
mov       rcx,rax
mov       r11,7FFE3F131320
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-0E8]
M01_L38
 
test      ecx,ecx
jne       near ptr M01_L27
mov       rax,[rbp-0E8]
jmp       short M01_L44
M01_L39
 
mov       ecx,717
mov       rdx,7FFE3FE76988
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FE8E040]
int       3
M01_L40
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L41
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE3FE8D9F8]
mov       r15,rax
jmp       near ptr M01_L09
M01_L42
 
mov       rax,[rbp-0E8]
mov       ecx,[r9+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       short M01_L44
M01_L43
 
mov       rcx,rbx
mov       rdx,7FFE3FEA5698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L44
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
je        short M01_L45
mov       rcx,rax
mov       r11,7FFE3F131328
call      qword ptr [r11]
M01_L45
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L46
jmp       short M01_L47
M01_L46
 
mov       rcx,rbx
mov       rdx,7FFE3FEA4180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
M01_L47
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE3FE8E418]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [r14+8],eax
mov       rax,r14
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L48
 
mov       ecx,40B
mov       rdx,7FFE3FE76988
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FE8E040]
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L49
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L49
mov       rcx,rax
mov       r11,7FFE3F131328
call      qword ptr [r11]
M01_L49
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,7FFE3FE88810
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE3FE8C810]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FE8D908]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FE8D908]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,21E59FC0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,25C50C14C10
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE3FEF6778]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,25C50C14C28
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,25C50C14C18
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE3FEFC7F8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE3FEFDDE8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE3FEF63B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE3FEF6148]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE3FEEACB0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FEFCF30]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       r14,rcx
mov       rbx,rdx
mov       rdi,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      rdi,rdi
je        near ptr M01_L48
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L43
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-0E8],rax
test      rax,rax
je        near ptr M01_L25
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L25
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdi,[rcx+88]
test      rdi,rdi
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FFE3FF15860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdi,rax
M01_L03
 
jmp       near ptr M01_L10
M01_L04
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L14
M01_L05
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       r11,rdi
mov       rcx,r8
mov       rdx,[rbp-50]
call      qword ptr [r11]
cmp       [r15],r15b
mov       r8,r15
M01_L06
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L15
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L13
mov       [rbp-54],eax
jle       short M01_L07
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L07
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L08
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE3FEFC798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L09
 
cmp       dword ptr [rbp-78],1
jne       short M01_L10
mov       rax,[rbp-0E8]
inc       r12d
M01_L10
 
mov       rax,[rbp-0E8]
lea       r8,[rax+8]
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L11
 
mov       r10d,[r8+0C]
mov       r9,[r8]
cmp       r10d,[r9+38]
jae       near ptr M01_L42
mov       r9,[r9+10]
lea       ecx,[r10+1]
mov       [r8+0C],ecx
cmp       r10d,[r9+8]
jae       short M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L11
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
mov       [rbp-100],r8
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       short M01_L16
M01_L14
 
mov       rcx,rbx
mov       rdx,7FFE3FF156B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L05
M01_L15
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L16
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r8,[rcx+90]
test      r8,r8
je        short M01_L18
mov       r10,[rbp-0F0]
mov       [rbp-54],eax
M01_L17
 
mov       r9,[rbp-0F8]
mov       [rsp+20],r9
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,r10
call      qword ptr [7FFE3FEF7A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L41
jmp       near ptr M01_L08
M01_L18
 
mov       [rbp-54],eax
mov       rcx,rbx
mov       rdx,7FFE3FF15878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,[rbp-0F0]
jmp       near ptr M01_L17
M01_L19
 
mov       rcx,rbx
mov       rdx,7FFE3FF15860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
M01_L20
 
mov       r11,rax
mov       rcx,rdi
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       edi,eax
cmp       [r15],r15b
mov       r8,r15
M01_L21
 
cmp       qword ptr [r8+8],0
je        near ptr M01_L29
mov       ecx,[r8+18]
cmp       edi,ecx
je        near ptr M01_L34
jle       short M01_L22
mov       r8,[r8+10]
jmp       short M01_L21
M01_L22
 
mov       r8,[r8+8]
jmp       short M01_L21
M01_L23
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,edi
mov       r9,r13
call      qword ptr [7FFE3FEFC798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L24
 
cmp       dword ptr [rbp-78],1
jne       short M01_L25
mov       rax,[rbp-0E8]
inc       r12d
M01_L25
 
mov       rax,[rbp-0E8]
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L37
lea       rcx,[rax+8]
mov       rdi,rcx
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L26
 
mov       r10d,[rdi+0C]
mov       r8,[rdi]
cmp       r10d,[r8+38]
jae       near ptr M01_L36
mov       r9,[r8+10]
lea       ecx,[r10+1]
mov       [rdi+0C],ecx
cmp       r10d,[r9+8]
jae       near ptr M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L26
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
M01_L27
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L32
M01_L28
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       rdi,r8
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rax,[rcx+88]
test      rax,rax
je        near ptr M01_L19
jmp       near ptr M01_L20
M01_L29
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L30
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r10,[rcx+90]
test      r10,r10
je        near ptr M01_L33
mov       rax,[rbp-0F0]
M01_L31
 
mov       r8,[rbp-0F8]
mov       [rsp+20],r8
mov       [rsp+28],r13
mov       r8,[r13+10]
mov       [rsp+30],r8
mov       [rsp+38],esi
lea       r8,[rbp-78]
mov       [rsp+40],r8
mov       r8,r10
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,rax
call      qword ptr [7FFE3FEF7A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       r8,[rbp-80]
mov       [rbp-0C0],r8
cmp       qword ptr [rbp-0D0],0
je        short M01_L35
mov       rax,[rbp-0E8]
jmp       near ptr M01_L23
M01_L32
 
mov       rcx,rbx
mov       rdx,7FFE3FF156B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L28
M01_L33
 
mov       rcx,rbx
mov       rdx,7FFE3FF15878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,r8
mov       rax,[rbp-0F0]
jmp       near ptr M01_L31
M01_L34
 
mov       rax,[rbp-0E8]
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L30
M01_L35
 
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,edi
call      qword ptr [7FFE3FEFC8E8]
mov       r15,rax
jmp       near ptr M01_L24
M01_L36
 
mov       rax,[rbp-0E8]
mov       ecx,[r8+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L38
M01_L37
 
mov       rcx,rax
mov       r11,7FFE3F121BB0
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-0E8]
M01_L38
 
test      ecx,ecx
jne       near ptr M01_L27
mov       rax,[rbp-0E8]
jmp       short M01_L44
M01_L39
 
mov       ecx,717
mov       rdx,7FFE3FEEACB0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FEFCF30]
int       3
M01_L40
 
call      qword ptr [7FFE3F5D5E00]
int       3
M01_L41
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE3FEFC8E8]
mov       r15,rax
jmp       near ptr M01_L09
M01_L42
 
mov       rax,[rbp-0E8]
mov       ecx,[r9+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       short M01_L44
M01_L43
 
mov       rcx,rbx
mov       rdx,7FFE3FF15698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L44
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
je        short M01_L45
mov       rcx,rax
mov       r11,7FFE3F121BB8
call      qword ptr [r11]
M01_L45
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L46
jmp       short M01_L47
M01_L46
 
mov       rcx,rbx
mov       rdx,7FFE3FF14180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
M01_L47
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE3FEFD308]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [r14+8],eax
mov       rax,r14
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L48
 
mov       ecx,40B
mov       rdx,7FFE3FEEACB0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FEFCF30]
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L49
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L49
mov       rcx,rax
mov       r11,7FFE3F121BB8
call      qword ptr [r11]
M01_L49
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE3FEF7690]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FEFC7F8]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE3FEFC7F8]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,29CDEA70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,1DC00C01FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE3FD25518]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE3FD25548]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE3FD37C30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE3FD37C50
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD268E0]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD268F8]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE3F111078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE3FD25530]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE3FD15190
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD27168]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE3F111080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,21C92A70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,2E0C9401FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE3FD36640]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE3FD36670]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE3FD52010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE3FD52030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD37A08]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD37A20]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE3F121078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE3FD36658]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE3FD29010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD3C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE3F121080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,32157270008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,22497C01FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE3FD46640]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE3FD46670]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE3FD62010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE3FD62030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD47A08]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD47A20]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE3F131078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE3FD46658]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE3FD33E80
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD4C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE3F131080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,26529B20008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,18732C01FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE3FD46640]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE3FD46670]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE3FD62010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE3FD62030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD47A08]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD47A20]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE3F131078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE3FD46658]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE3FD39010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD4C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE3F131080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1C7C49A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,1C24C001FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE3FD568B0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE3FD568E0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE3FD72010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE3FD72030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD57C78]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD57C90]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE3F141078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE3FD568C8]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE3FD49410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD5C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE3F141080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5F5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,202D9D00008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,1DBE3801FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE3FD368B0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE3FD368E0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE3FD52010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE3FD52030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD37C78]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD37C90]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE3F121080
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE3FD368C8]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE3FD29A60
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FD3C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE3F121088
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,21C6D550008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,1987BC01FE8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE3FE771E0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE3FE77210]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE3FEA2010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE3FEA2030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FE7C6C0]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FE7C6D8]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE3F1213A0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE3FE771F8]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE3FE6D4E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FE7CF48]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE3F1213A8
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1D909990008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,176C1402010
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE3FEF6640]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE3FEF6670]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE3FF07C30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE3FF07C50
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FEF7A08]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE3FEF7A20]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE3F121B38
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE3FEF6658]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE3FEEAE20
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3FEFC600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE3F121B40
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1B74F0F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1D6C4CA0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,243512C0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,20D954A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1D4AE260008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5F5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,201F7D60008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,23BD0B60008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2F2283B0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE3F5F5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,24F392F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD44C78]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD45938]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD467C0]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEF41C8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEF41E0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEF4468
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEF4488
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD3ABB0]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F131000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEF44A8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5D0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F476790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEF41C8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEF4468
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD467F0]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F131008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F131008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2E944950008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD36010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD36CD0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD3C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEE5B28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5B40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5DC8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5DE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2EE30]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F121000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5E08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5D5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5C0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F466790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5B28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5DC8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD3C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F121008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F121008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1E37DD10008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD46010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD46CD0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD4C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEF55A8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEF55C0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5848
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5868
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD3EE30]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F131000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5888
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5D0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F476790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEF55A8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5848
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD4C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F131008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F131008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,26599A90008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD46010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD46CD0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD4C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEF5C48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5C60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5EE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5F08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD3EE30]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F131000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5F28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5D0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F476790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5C48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEF5EE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD4C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F131008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F131008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,29215270008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD26010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD26CD0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD2C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FED57F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FED5808
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FED5A90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FED5AB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD1EE30]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F111000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FED5AD0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5B0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F456790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FED57F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F254360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FED5A90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD2C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F111008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F111008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,307951A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FD35DA0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FD36A60]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FD378E8]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FEE5F80
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5F98
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FEE6220
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FEE6240
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FD2F0E0]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F121000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FEE6260
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5D5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5C0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F466790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FEE5F80
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F264360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FEE6220
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FD37918]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F121008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F121008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1A856AF0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FE862B0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FE86F70]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FE8C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FF5B7A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FF5B7B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FF5BA40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FF5BA60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FE7CBA0]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F131328
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FF5BA80
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5D0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F476790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FF5B7A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F274360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FF5BA40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FE8C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F131330
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F131330
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1612D460008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE3FF15DA0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE3FF16A60]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE3F284360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE3FF178E8]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE3FF7BCD0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE3FF7BCE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE3FF7BF70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE3FF7BF90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE3FF206C8]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE3F141BB0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE3FF7BFB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE3F5F5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE3F5E0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE3F486790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE3FF7BCD0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE3F284360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE3FF7BF70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE3FF17918]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE3F141BB8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE3F141BB8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5F5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,25337920008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE3F26EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE3FD17A50
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,offset System.Runtime.InteropServices.MemoryMarshal.GetReference[TFrom](System.ReadOnlySpan`1)
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE3F5D5B18]
int       3
M01_L09
 
call      qword ptr [7FFE3F5D5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE3F26EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE3FD19948
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE3FD19960
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
xor       eax,eax
jmp       short M01_L05
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       short M01_L02
call      qword ptr [7FFE3F5D5E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE3F5D5B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE3F25EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE3FD099D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE3FD099F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
xor       eax,eax
jmp       short M01_L05
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       short M01_L02
call      qword ptr [7FFE3F5C5E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE3F5C5B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE3F27EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE3FD299D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE3FD299F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE3F5E5B18]
int       3
M01_L09
 
call      qword ptr [7FFE3F5E5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE3F27EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE3FD29948
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE3FD29960
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
xor       eax,eax
jmp       short M01_L05
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       short M01_L02
call      qword ptr [7FFE3F5E5E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE3F5E5B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE3F28EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        near ptr M01_L04
M01_L00
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L01
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       near ptr M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L03
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L04
 
mov       rdx,7FFE3FD39EE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L00
M01_L05
 
mov       rdx,7FFE3FD39F00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       near ptr M01_L01
M01_L07
 
xor       eax,eax
jmp       short M01_L03
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE3F5F5B18]
int       3
M01_L09
 
call      qword ptr [7FFE3F5F5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE3F27EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rcx,[rax]
M00_L00
 
mov       [rsp+28],rcx
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
M00_L01
 
xor       ecx,ecx
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+60]
test      r11,r11
je        near ptr M01_L04
M01_L00
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L01
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       near ptr M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L03
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L04
 
mov       rdx,7FFE3FCA81F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L00
M01_L05
 
mov       rdx,7FFE3FCA8208
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       near ptr M01_L01
M01_L07
 
xor       eax,eax
jmp       short M01_L03
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE3F5E5B18]
int       3
M01_L09
 
call      qword ptr [7FFE3F5E5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE3F26EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rcx,[rax]
M00_L00
 
mov       [rsp+28],rcx
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
M00_L01
 
xor       ecx,ecx
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+60]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE3FC98898
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE3FC988B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE3F5D5B18]
int       3
M01_L09
 
call      qword ptr [7FFE3F5D5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE3FCC5680]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F121110
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F121120
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE3F121118
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F5D7A98]
int       3
M00_L03
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE3F78FB58]
mov       ecx,43
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5F6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F266B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F78F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F466718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F264348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F264348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FC9BE18
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FC9BE28
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE3FC9BE38
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE3F121128
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FFE3F5D5E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FFE3FC9BE50
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FFE3F121130
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FFE3F5D7A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FC9BF20
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE3FC9BEF0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FC9BF08
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FFE3F121138
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,[rbp-48]
mov       r11,7FFE3F121138
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F315B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5D5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2127F580008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE3FCD6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F131110
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F131120
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE3F131118
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F5E7A98]
int       3
M00_L03
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F274348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L23
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F274348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L26
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FCADCD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FCADCE8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE3FCADCF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L16
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L19
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE3F131128
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L32
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L17
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L14
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L16
M01_L13
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L15
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L14
 
mov       rcx,[rbp-48]
mov       r11,7FFE3F131130
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L18
M01_L15
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       short M01_L18
M01_L16
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L17
 
mov       rcx,rbx
mov       rdx,7FFE3FCADD10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L18
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L20
M01_L19
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L20
 
cmp       rsi,r15
jne       near ptr M01_L31
M01_L21
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       ecx,10
call      qword ptr [7FFE3F5E7A38]
int       3
M01_L23
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L24
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L24
jmp       short M01_L25
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FCADDE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L25
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L26
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L27
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L27
jmp       short M01_L28
M01_L27
 
mov       rcx,rbx
mov       rdx,7FFE3FCADDB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L28
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L33
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L29
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE3FCADDC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L31
 
mov       r11,7FFE3F131138
call      qword ptr [r11]
jmp       near ptr M01_L21
M01_L32
 
mov       rcx,rsp
call      M01_L34
nop
M01_L33
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L34
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L35
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L35
mov       rcx,rax
mov       r11,7FFE3F131138
call      qword ptr [r11]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,224E5F90008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE3FCE6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F140FF0
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F141000
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE3F140FF8
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F5F7A98]
int       3
M00_L03
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,1B3
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F284348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F284348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDCD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDCE8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDCF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE3F141008
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FFE3F5F5E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDD10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FFE3F141010
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FFE3F5F7A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDDE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDDB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDDC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FFE3F141018
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,[rbp-48]
mov       r11,7FFE3F141018
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5F5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,17954BA0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE3FCB6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F110FF0
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F111000
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE3F110FF8
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F5C7A98]
int       3
M00_L03
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F254348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F254348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FC8DCD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FC8DCE8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE3FC8DCF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE3F111008
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FFE3FC8DD10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FFE3F111010
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FFE3F5C7A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FC8DDE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE3FC8DDB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FC8DDC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FFE3F111018
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FFE3F111018
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,18D4D6D0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE3FCD6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F140FF0
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F141000
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE3F140FF8
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F5F7A98]
int       3
M00_L03
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,1B3
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE3F7AFB58]
mov       ecx,43
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F616DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F286B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F7AF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F284348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F284348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDCD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDCE8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDCF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE3F141008
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FFE3F5F5E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDD10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FFE3F141010
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FFE3F5F7A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDDE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDDB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE3FCBDDC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FFE3F141018
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,[rbp-48]
mov       r11,7FFE3F141018
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F335B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5F5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2A8EFDB0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE3FCD6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F130FF0
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F131000
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE3F130FF8
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F5E7A98]
int       3
M00_L03
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L24
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F274348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L05
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F274348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L28
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L06
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L07
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FCAE2B0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE3FCAE2C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       near ptr M01_L01
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE3FCAE2D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L10
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L08
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L20
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L09
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L08
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L10
 
mov       rcx,rax
mov       r11,7FFE3F131008
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L11
 
test      ecx,ecx
je        near ptr M01_L22
M01_L12
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L13
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L15
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L17
M01_L14
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L16
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L09
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L14
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L15
 
mov       rcx,[rbp-48]
mov       r11,7FFE3F131010
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L12
mov       rcx,rax
jmp       short M01_L19
M01_L16
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       short M01_L19
M01_L17
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L18
 
mov       rcx,rbx
mov       rdx,7FFE3FCAE2E8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L13
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L21
M01_L20
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L11
M01_L21
 
cmp       rsi,r15
je        near ptr M01_L04
mov       r11,7FFE3F131018
call      qword ptr [r11]
jmp       near ptr M01_L04
M01_L22
 
mov       rcx,rsp
call      M01_L33
nop
M01_L23
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L24
 
mov       ecx,10
call      qword ptr [7FFE3F5E7A38]
int       3
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L26
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE3FCAE3B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L29
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE3FCAE388
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       near ptr M01_L23
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L31
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L31
jmp       short M01_L32
M01_L31
 
mov       rcx,rbx
mov       rdx,7FFE3FCAE3A0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L32
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FFE3F131018
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,16A6A880008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE3FDE7B40]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F111340
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F111350
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE3F111348
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F5C7A98]
int       3
M00_L03
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE3F77FB58]
mov       ecx,43
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F5E6DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F256B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F77F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F456718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F254348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L23
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F254348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L26
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FE026E8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FE026F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE3FE02708
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L19
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L18
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE3F111358
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L32
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L17
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L14
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L19
M01_L13
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L15
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L14
 
mov       rcx,[rbp-48]
mov       r11,7FFE3F111360
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L16
M01_L15
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
M01_L16
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L20
M01_L17
 
mov       rcx,rbx
mov       rdx,7FFE3FE02720
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L18
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L19
 
call      qword ptr [7FFE3F5C5E00]
int       3
M01_L20
 
cmp       rsi,r15
jne       near ptr M01_L31
M01_L21
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       ecx,10
call      qword ptr [7FFE3F5C7A38]
int       3
M01_L23
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L24
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L24
jmp       short M01_L25
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FE027F0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L25
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L26
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L27
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L27
jmp       short M01_L28
M01_L27
 
mov       rcx,rbx
mov       rdx,7FFE3FE027C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L28
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L33
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L29
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE3FE027D8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L31
 
mov       r11,7FFE3F111368
call      qword ptr [r11]
jmp       near ptr M01_L21
M01_L32
 
mov       rcx,rsp
call      M01_L34
nop
M01_L33
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L34
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L35
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L35
mov       rcx,rax
mov       r11,7FFE3F111368
call      qword ptr [r11]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F305B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5C5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2D60F260008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE3FE96F28]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F131BC8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE3F131BD8
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE3F131BD0
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE3F5E7A98]
int       3
M00_L03
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,1B3
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE3F79FB58]
mov       ecx,43
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE3F606DA0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE3F7779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE3F276B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE3F79F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE3F476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE3F274348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L23
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE3F274348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L26
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE3FE8D468
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE3FE8D478
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE3FE8D488
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L19
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L18
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE3F131BE0
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L32
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L17
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L14
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L19
M01_L13
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L15
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L14
 
mov       rcx,[rbp-48]
mov       r11,7FFE3F131BE8
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L16
M01_L15
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
M01_L16
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L20
M01_L17
 
mov       rcx,rbx
mov       rdx,7FFE3FE8D4A0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L18
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L19
 
call      qword ptr [7FFE3F5E5E00]
int       3
M01_L20
 
cmp       rsi,r15
jne       near ptr M01_L31
M01_L21
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       ecx,10
call      qword ptr [7FFE3F5E7A38]
int       3
M01_L23
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L24
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L24
jmp       short M01_L25
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE3FE8D570
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L25
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L26
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L27
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L27
jmp       short M01_L28
M01_L27
 
mov       rcx,rbx
mov       rdx,7FFE3FE8D540
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L28
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L33
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L29
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE3FE8D558
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L31
 
mov       r11,7FFE3F131BF0
call      qword ptr [r11]
jmp       near ptr M01_L21
M01_L32
 
mov       rcx,rsp
call      M01_L34
nop
M01_L33
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L34
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L35
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L35
mov       rcx,rax
mov       r11,7FFE3F131BF0
call      qword ptr [r11]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE3F325B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE3F5E5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,25943950008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret